查看原文
其他

高效协同、持续交付,中国工商银行企业级 DevOps 工具链建设之路

赵振标 高效运维 2022-07-13
作者简介
赵振标,中国工商银行软件开发中心架构师。主要从事工行 DevOps 工具链系统的建设工作,现任工具链核心系统的架构师;并在近年来,负责单位级持续集成、自动化测试的推广落地,具备丰富的 DevOps 实践经验。

一、背景及挑战

新技术发展迅猛,金融产品和服务模式创新加快,快速增长的产品需求与有限研发资源之间的矛盾长期存在,如何提高研发效能,快速上线金融产品,支撑业务创新发展,是商业银行金融科技研发机构始终面临的挑战。传统银行的产品、架构体系庞大复杂,对研发效能提升带来更大挑战,DevOps 工具体系建设,首先要适应当前流程和用户工作习惯,然后同步进行工具改进和流程改进,工具体系不能脱离技术和管理现状,要随着技术和管理的优化不断改进。因此打造适合自身的 DevOps 平台,对传统大型研发企业来说尤为重要。

中国工商银行对现有工具进行整合、提炼、完善,统筹进行服务化重构,以用户为中心,打造全流程、功能齐全的企业级 DevOps 工具链,全行共享数据,助力研发管理数字化转型。

二、探索之路

中国工商银行一直致力于研发效能的提升,从2009年开启了工具化的建设道路,统一了应用版本的构建和部署工具。2013年开始了持续集成之路。2018年对接业界,基于已有工具启动了 DevOps 平台建设,经历两年实现了打通开发、测试、运维三中心的端到端流水线。2020年,开展持续交付标准化建设,逐步形成以“发布单元”为核心的持续交付标准化体系。

三、建设成果

中国工商银行的工具链总视图主要包括持续交付流水线、开发者门户、运维平台等。持续交付流水线打造了产品研发、质量保证、投产部署的价值交付链,通过流程引擎将各项基本服务串接起来;开发者门户是工具链的“一站式”门户,为开发人员提供统一的操作入口;运维平台统筹生产运维、应用监控、性能容量等领域,为投产上线、日常运维提供服务。

1、概要视图

2、持续交付流水线

通过标准化的实施,建立了含代码库管理、构建、部署、应用配置等在内的持续交付领域标准;规范了构建部署配置,降低维护成本;同时,实现了应用部署流程可验证、可复用,提高生产部署的风险防控水平和自动化程度。原构建策略8000+,部署策略20000+,规范后形成10+个标准化构建部署配置,并形成“服务环境”为核心的投产环境管理体系,提升了环境管理能力。

(1)代码提交:提交构建流水线

提交即触发,针对增量代码完成单元测试和代码检查。

(2)代码集成:持续集成流水线

提供丰富持续集成原子操作,根据不同场景组装和配置。

(3)版本交付:持续交付流水线

版本一键交付,自动触发回装验证。

(4)版本上线:持续部署流水线

整体投产部署流程可复用、可验证、自适应、可裁剪、可视化。

3、开发者门户

基于现有系统和工具进行集成、整合、创新,建设面向开发人员的门户,实现从需求受理到版本发布的一站式、可回溯、自动化处理。通过信息聚合,将局部能力整合为组织级能力,通过标准化流程,提升研发流程的自动化程度。

4、质量门禁

提交构建流水线(“提交构建门禁”):在开发提交代码变更时自动触发流水线执行,检测开发人员本次代码提交的质量,例如代码扫描是否有高风险的问题、单元测试行覆盖率是否达到一定的标准,协助开发人员及时发现和修改问题。各指标必须达标后,才能将代码合入发布分支,降低发现问题和解决问题的总体成本。

持续交付流水线(“交付准出门禁”):多人代码合并到发布分支后,对发布分支开展代码扫描、构建、部署、自动化测试等环节并获取执行结果,并在提交构建门禁基础上增加了冒烟测试成功率指标,所有指标达标才能将版本交付出去,确保交付质量。所有门禁指标分级制定,给团队成长的台阶。

持续部署流水线(“投产准入门禁”):对接投产管理平台,获取投产准入状态、灰度验收状态和投产窗口,线上控制投产行为,规范投产管理。

5、运维平台

统一的生产运维平台,门户集成了生产运维、应用监控、性能容量等功能,为投产上线、日常运维提供服务。

四、未来展望

结合行内需求、研发、测试、投产全流程的现状,从高效协同、持续交付、环境支撑等领域规划了相应的服务域,通过跨多服务域的协同、服务化重构提升,打造一站式的企业级 DevOps 工具链。

主要专注以下几方面能力建设:
  1. 高效协同:以需求价值管理和沟通协作可视化为抓手,从需求和团队两个视角切入,解决跨机构、跨部门面临的协作挑战。

  2. 持续交付:以流水线为桥梁,横向扩展,纵深建设,支撑灰度发布的一体化、生产监控、验证、单元化等,打造基于标准化的数据、日志分析服务体系,提供一站式的服务和统一视图,赋能一线团队自服务。

  3. 环境支撑:以环境配置标准化实施为基础,建立环境配置自动化服务体现,打造贯通开发、测试、生产的环境交付流水线,标准化和自动化环境资源供给,为产品研发、环境运维团队提供便捷一站式的服务。

  4. 度量赋能:依托大数据平台,建立研发管理领域的数据中台,统一专业领域内数据标准,建设共享数据服务。从效率管理、资源管理等多方面建立研发效能度量指体系,多维度量、可定制、透明,不同角色各取所需,赋能研发团队自我改进,支撑各管理层级高效决策。

还不过瘾?还想了解更多大型国有银行 DevOps/DevSecOps 落地方案?

GOPS 全球运维大会 2022 · 深圳站,中国工商银行软件开发中心高级经理赵培桐将分享 DevOps 持续交付标准化的探索与实施,敬请期待。

长按图片二维码,更多精彩
近期好文

在线人数突破千万,B站活动保障的高效 SRE 之路!

中国信通院云大所牛晓玲:XOps浪潮下,企业IT提质增效的新思考

“高效运维”公众号诚邀广大技术人员投稿

投稿邮箱:jiachen@greatops.net,或添加联系人微信:greatops1118。
点个“在看”,一年不宕机

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存